package com.myown.structure;

/**
 * @author lincky
 * @version v1.0.0
 * @time 2017.02.22 17:00
 */
public interface Collection<E> {

    /**
     * 集合是否为空 <p>
     *
     * @return <tt>true</tt> - 集合为空
     */
    boolean empty();

    /**
     * 集合大小 <p>
     *
     * @return 集合大小
     */
    int size();

    /**
     * 清空集合
     */
    void clear();

    /**
     * 添加元素
     *
     * @param item 元素
     */
    void add(E item);

    /**
     * 移除元素
     *
     * @param index 索引
     */
    void remove(int index);

    /**
     * 获取元素
     *
     * @param index 索引
     * @return 索引位置元素
     */
    E get(int index);

}
